/**
 * @author 20111011 by hzx
 * @class EditBatchSmsForm
 * @extends Ext.form.FormPanel
 * @description 批量任务修改表单
 */
EditBatchSmsForm = Ext.extend(Ext.form.FormPanel, {
	myid : "myid",
	myReadOnly : false, // 自定义属性是否只读
	myDisabled : false, // 自定义属性是否禁用
	upLoadFileWin : null, // 文件上传窗体
	comboStoreTaskType : null,//下拉列表框数据源(任务类型)
	// 构造方法
	constructor : function(_config) {
		if (_config == null) {
			_config = {};
		}
		Ext.apply(this, _config);
		// 下拉列表框数据源(任务类型)
		this.comboStoreTaskType = new Ext.data.JsonStore({
					url : "dataDict.do",
					baseParams : {
						"operator" : "showDataDictByKey",
						"sekey" : "taskType"
					},
					fields : ["datakey", "value","remark"],
					autoLoad : true
				});
		var minDate = new Date();
		minDate.setDate(minDate.getDate()-1);
		var minTime = new Date();
		minTime.setTime(minTime.getTime() + 600000);
		// 照片上传窗体	
		this.upLoadFileWin = new UpLoadSmsFileWindow();

		// 拷贝父类的构造方法到当前对象
		EditBatchSmsForm.superclass.constructor.call(this, {
			id : this.myid,
			border : false, // 不要边框
			fileUpload : true, // 允许上传
			autoScroll : true,
			bodyStyle : "backgroundColor:#DFE8F6;",
			items : [{
				xtype : "panel",
				frame : true,
				border : false,
				bodyStyle : "backgroundColor:#DFE8F6;",
				items : [{
					layout : "column",
					border : false,
					items : [{
								columnWidth : .98,
								labelWidth : 110,
								layout : "form",
								defaults : {
									xtype : "textfield",
									allowBlank : false, // 不允许为空
									anchor : "90%"
								},
								items : [{
											fieldLabel : "批量短信任务名称",
											name : "tt.taskname"
										},{
											xtype :"datefield",
											fieldLabel : "批量计划发送日期",
											format : "Y-m-d",
											name : "tt.scheduleDateStr",
											//value : new Date(),
											minValue : minDate
										}, {
											xtype :"timefield",
											fieldLabel : "批量计划发送时间",
											format : "H:i:s",
											name : "tt.scheduleTimeStr",
											//value : minTime,
											minValue : minTime
										}, {
											xtype : "combo", // 下拉列表框
											fieldLabel : "任务类型",
											emptyText : "请选择任务类型",
											mode : "local", // 数据模式为本地
											triggerAction : "all", // 显示所有数据
											displayField : "remark", // 要显示的值
											valueField : "value",
											hiddenName : "tt.tasktype",
											store : this.comboStoreTaskType,
											invalidText : "非法任务类型",
											validator :function(){
											 	return /^[1|2|3|4]$/gi.test(this.getValue());
											}
										},{
											xtype : "textarea",
											fieldLabel : "批量短信内容",
											name : "tt.content"
										}, {
											readOnly : true,
											emptyText : "请点击上传批量文件按钮进行上传文件",
											fieldLabel : "路径",
											xtype : "textfield",
											disabled : true,
											name : "filename"
										}, {
											xtype : "textfield",
											hidden : true,
											name : "tt.filepath"
//											allowBlank : true
										}, {
											xtype : "button",
											text : "上传批量文件",
//											style : "margin-left:105px;",
											handler : this.onMyUpLoadClick,
											scope : this
										}]
							}]
				}]
			}]
		});

		/**
		 * 监听upLoadFileWin的onUploadSuccess事件(图片上传成功事件)
		 */
		this.upLoadFileWin.on("onUploadSuccess", this.onUploadSuccess, this);
	},

	/**
	 * upLoadFileWin的onUploadSuccess事件(图片上传成功事件)
	 * 
	 * @param {}
	 *            _form
	 * @param {}
	 *            _action
	 */
	onUploadSuccess : function(_form, _action) {
		// 获取服务器随机生成的图片的名称
		var _randomPhotoName = _action.result["randomName"];
		// 提示信息//成功后不提示客户
//		Ext.Msg.alert("系统消息", _action.result.tipMsg);
		// 获取隐藏表单域的引用
		var _hidden = this.findByType("textfield")[5];
		var _hidden2 = this.findByType("textfield")[6];
		// 设置hidden的数值
		_hidden.setValue(_randomPhotoName);
		_hidden2.setValue(_randomPhotoName);
		// 隐藏窗体
		this.upLoadFileWin.hide();
	},

	/**
	 * 上传文件按钮单击事件
	 */
	onMyUpLoadClick : function() {
		this.upLoadFileWin.show();
	}
});
